]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Add Ctrl+PageUp/PageDown key shortcuts for switching tabs
authorJason Siefken <siefkenj@gmail.com>
Fri, 21 Oct 2011 03:48:50 +0000 (20:48 -0700)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 21 Oct 2011 13:22:15 +0000 (09:22 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=652223

js/ui/lookingGlass.js

index 6ac52478419fc7c765f2b40ae9842ee437551bb3..13ec758c79eb8a5bbf2330a28d55bdca4d478eb8 100644 (file)
@@ -151,6 +151,16 @@ Notebook.prototype = {
             return;
         let vAdjust = tabData.scrollView.vscroll.adjustment;
         vAdjust.value = vAdjust.upper - vAdjust.page_size;
+    },
+
+    nextTab: function() {
+            let nextIndex = this._selectedIndex < this._tabs.length - 1 ? this._selectedIndex + 1 : this._selectedIndex;
+            this.selectIndex(nextIndex);
+    },
+
+    prevTab: function() {
+            let nextIndex = this._selectedIndex > 0 ? this._selectedIndex - 1 : 0;
+            this.selectIndex(nextIndex);
     }
 };
 Signals.addSignalMethods(Notebook.prototype);
@@ -995,6 +1005,7 @@ LookingGlass.prototype = {
     // Handle key events which are relevant for all tabs of the LookingGlass
     _globalKeyPressEvent : function(actor, event) {
         let symbol = event.get_key_symbol();
+        let modifierState = Shell.get_event_state(event);
         if (symbol == Clutter.Escape) {
             if (this._objInspector.actor.visible) {
                 this._objInspector.close();
@@ -1003,6 +1014,14 @@ LookingGlass.prototype = {
             }
             return true;
         }
+        // Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view
+        if (modifierState & Clutter.ModifierType.CONTROL_MASK) {
+            if (symbol == Clutter.KEY_Page_Up) {
+                this._notebook.nextTab();
+            } else if (symbol == Clutter.KEY_Page_Down) {
+                this._notebook.prevTab();
+            }
+        }
         return false;
     },